Kevin Sullivan Agents

Date Time: 2026-04-10 08:26:33 Location: [Insert Location]: [Insert Location] Instructor: [Insert Name]: Kevin Sullivan

Summary

The series of lectures, delivered by Kevin Sullivan, explores the future of programming at the intersection of traditional deductive software engineering and emerging inductive AI methods. The central argument is that the future lies not in replacing deductive systems with inductive ones, but in their synergistic marriage. This is primarily exemplified by the Lean proof assistant, a functional programming language that embodies the Curry-Howard correspondence—the principle that theorem proving is isomorphic to functional programming. Initially, the discussion contrasts the high reliability required for mission-critical systems (e.g., avionics software demanding failure rates of 10⁻⁹ per hour) with the inherent unreliability of Large Language Models (LLMs), which have error rates orders of magnitude higher. While testing is insufficient to prove the absence of bugs, formal verification has historically been too costly and laborious for widespread use. The revolution now underway involves using LLMs to generate proofs that are then verified for correctness by deductive proof assistants like Lean. This drastically reduces the cost of formal verification, making provably correct software a feasible standard for high-reliability systems. The lectures then provide an introduction to Lean, framing it as a tool for a CS1-level course that teaches functional programming and automated proof construction. The core concept of the Curry-Howard correspondence is detailed, explaining how logical constructs map directly to programming types: logical implication (P implies Q) corresponds to a function type, conjunction (P and Q) to a product type (pair/tuple), and disjunction (P or Q) to a sum type (tagged union). In Lean, propositions are treated as types, and proofs are the values that inhabit these types, with falsity represented by an empty type. Finally, the discussion covers program verification within Lean, explaining how to ensure a compiler’s correctness by formally proving that the semantics of the source and compiled code are equivalent. The ultimate takeaway is a predicted shift in software development: as AI becomes more adept at generating implementation code and proofs, the most critical skill for developers will be the ability to write precise, high-quality logical specifications. Students are urged to become fluent in this new paradigm by learning functional programming with tools like Lean, positioning themselves to leverage AI for creating verifiably correct software.

Knowledge Points

1. Reliability, Deduction, and Induction in Software

2. Theorem Proving as Programming: The Curry-Howard Correspondence

3. The Lean Proof Assistant and the Future of Programming

Questions

Assignments